def Property(func):
    return property(**func())

class Person(object):
	@Property
	def name():
        	doc = "The person's name"

        	def fget(self):
			return "%s %s" % (self.first_name, self.last_name)

		def fset(self, name):
			self.first_name, self.last_name = name.split()

		def fdel(self):
			del self.first_name
			del self.last_name

		return locals()
        

class Time(object):
	seconds=0
	
	@Property
	def minutes():
		doc= "Get time in minutes"
		
		def fget(self):
			return self.seconds / 60
		def fset(self, val):
			self.seconds = val*60 + self.seconds % 60
		return locals()
		
time=Time()

time.minutes = 3
print time.seconds
time.seconds=2
time.minutes=1
print time.seconds
